package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.checkerframework.checker.formatter.qual.Format;

/**
 * <p>
 *
 * </p>
 *
 * @author ld&zjw
 * @since 2024-01-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysTitleSubmitRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 题目id
     */
    private Integer titleId;

    /**
     * 提交结果
     */
    private String titleResult;

    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone="GMT+8")
    private Date titleTime;

    /**
     * 提交人id
     */
    private Integer submitId;

    /**
     * 提交人账号
     */
    private String submitName;

    /**
     * 提交人昵称
     */
    private String submitNick;

    /**
     * 题目内容
     */
    private String sourceCode;

    /**
     * 语言类型
     */
    private String languageId;

    /**
     * 时间复杂度
     */
    private Float time;

    /**
     * 空间复杂度
     */
    private Float mem;

    /**
     * 代码长度
     */
    private String len;

    /**
     * 备用字段1
     */
    private String spare1;

    /**
     * 备用字段2
     */
    private String spare2;

    /**
     * 备用字段3
     */
    private String spare3;

    /**
     * 备用字段4
     */
    private String spare4;

    /**
     * 备用字段5
     */
    private String spare5;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 通过量
     */
    @TableField(exist = false)
    private Integer acceptNum;

    /**
     * 提交两
     */
    @TableField(exist = false)
    private Integer submitNum;

    /**
     * 通过率
     */
    @TableField(exist = false)
    private String passingRate;

}
